<?php

// 应用公共文件

use app\common\NormalException;

/**
 * 将成功的data包装为json返回
 */
function success($data = null)
{
    if ($data === null) {
        $json = [
            'success' => 1,
        ];
    } else {
        $json = [
            'success' => 1,
            'data' => $data,
        ];
    }
    return json($json);
}

/**
 * 抛出NormalException以直接返回响应
 */
function error($errMsg)
{
    throw new NormalException($errMsg);
}

/**
 * 根据logic层的类名获取一个logic实例
 * @param string $className 类名
 * @return mixed logic类的实例
 */
function logic($className)
{
    $clsName = 'app\\index\\logic\\' . $className;
    if (class_exists($clsName)) {
        return new $clsName();
    } else {
        error('logic类不存在');
    }
    return null;
}
